System.Collections.ObjectModel.KeyedCollection<TKey,Tem>. Método ChangeItemKey
Este artigo fornece observações complementares à documentação de referência para essa API.
O ChangeItemKey(TItem, TKey) método não modifica a chave embutida item
, ele simplesmente substitui a chave salva no dicionário de pesquisa. Portanto, se newKey
for diferente da chave incorporada no item
, você não poderá acessar item
usando a chave retornada pelo GetKeyForItem.
Esse método não faz nada se o KeyedCollection<TKey,TItem> não tiver um dicionário de pesquisa.
Cada chave em um KeyedCollection<TKey,TItem> deve ser única. Uma chave não pode ser null
.
Este método é uma operação O(1).
Notas para implementadores
Antes de modificar a chave incorporada em um item, você deve chamar esse método para atualizar a chave no dicionário de pesquisa. Se o limite de criação do dicionário for -1, chamar esse método não será necessário.
Não exponha o ChangeItemKey método como um método público de uma classe derivada. O uso indevido desse método coloca o dicionário de pesquisa fora de sincronia com as chaves de item. Por exemplo, definir a chave como null
outro valor adiciona várias chaves para um item ao dicionário de pesquisa. Expor esse método internamente para permitir chaves de item mutáveis: quando a chave de um item é alterada, esse método é usado para alterar a chave no dicionário de pesquisa.